#pragma once
#include "SgPtr.h"
#include "SgMesh.h"
#include "SgComposite.h"
#include "SgPolygon.h"

class RideFactory
{
public:
	RideFactory(void);
	virtual ~RideFactory(void);

	// initial creation of scene graph in each factory
	virtual CSgObject* Create() = 0;

	// please implement this method to implement animation in your factory
	// animation w/o object creation
	// store time difference AND current time if we really need it.
	// the reason is simply for convenience. avoid using the currentTime most of the time.
	// we should only need it in certain circumstances.
	virtual void AdvanceTime(const DWORD & timeDiff, const DWORD & currentTime) = 0;
};
